<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Vue中的数据代理</title>
    <script src="../vue.js"></script>
</head>
<body>
    <!-- 
        1.Vue中的数据代理：
            通过一个对象代理另一个对象中属性的操作（读/写）
        2.Vue中的数据代理的好处：
            更加方便的操作data中的数据
        3.基本原理：
            通过Object.defineProperty()把data对象中的所有属性添加到vm身上
            为每一个添加到vm上的属性，都指定一个getter/setter
            在getter/setter内部去操作（读/写）data中对应的属性
     -->
    <div id="root">
        <h2>学校名称: {{name}}</h2>
        <h2>学校地址: {{address}}</h2>
    </div>
    <script>
        Vue.config.productionTip=false
       const vm = new Vue({ 
            el: '#root',
            data: {
                name: '黑马程序员',
                address: '杭州下沙校区',
            }
        })
        console.log(vm._data.address===vm.address)
        vm._data.address='成都校区'
        console.log(vm.address)

    </script>
</body>
</html>